Successive codebook and feedback in precoding systems

ABSTRACT

Methods and apparatus are disclosed for applying successive multi-rank beamforming strategies (e.g., successive precoding strategies) for the design of precoders over a set of parallel channels. Successive beamforming is applied to a narrow band channel model and is also applied for finer quantization of a single beamforming vector (e.g., recursive beamforming). A first embodiment provides the optimal approach with high complexity. An alternative embodiment provides successive beamforming for near optimal precoding selection with medium complexity. A low complexity method for precoder selection is also provided wherein a channel representative matrix for the set of parallel channels is determined and successive beamforming on the calculated channel representative is applied.

This application is a divisional of co-pending U.S. patent applicationSer. No. 12/951,855, filed Nov. 22, 2010, which in turn is a divisionalof U.S. patent application Ser. No. 11/693,286, filed Mar. 29, 2007,which in turn claims priority to U.S. Provisional Patent Application No.60/823,144, filed Aug. 22, 2006, which is incorporated by referenceherein.

FIELD OF THE INVENTION

The present invention relates generally to data transmission, and moreparticularly to quantized precoding over a set of parallel channels.

BACKGROUND OF THE INVENTION

Prior art downlink orthogonal frequency-division multiplexing multipleinput multiple output (DL OFDM MIMO) transmission strategies includesquantized precoding schemes, antenna selection, antenna cycling (with orwithout rank control), and different space-time coding and spatialmultiplexing transmission scheme.

Precoding and beamforming also have been considered in prior art where,generally, beamforming corresponds to one stream transmission (rank one)and precoding corresponds to multiple stream transmission (rank two andhigher). The prior methods are complex and do not provide sufficientthroughput.

Accordingly, a new method of applying successive multi-rank beamformingstrategy (e.g., successive precoding strategy) for the design ofprecoders over a set of parallel channels is desired.

SUMMARY OF THE INVENTION

The present invention provides improved methods for applying successivemulti-rank beamforming strategies (e.g., successive precodingstrategies) for the design of precoders over a set of parallel channels.Similarly, successive beamforming is applied to a narrow band channelmodel and is also applied for finer quantization of a single beamformingvector (e.g., recursive beamforming).

Multiple approaches for precoder selection over set of parallel channelsare described herein. A first method provides the optimal approach withvery high complexity. An alternative method provides successivebeamforming for near optimal precoding selection with medium complexityis also provided. In another embodiment, a low complexity method forprecoder selection is provided wherein a channel representative matrixfor the set of parallel channels is determined and successivebeamforming on the calculated channel representative is applied.

The present methods show considerable performance improvement incomparison to the prior precoding strategies. Moreover, the performanceloss due to the suboptimal precoding selection is negligible, while thereduction in computation complexity is significant.

Additionally, one aspect of the present invention provides a feedbackreduction technique. In this technique, after choosing the precoder witha pre-defined rank (e.g., k), a single codeword (SCW) is sent byencoding over all k streams. Alternatively, multiple codewords (MCW) aresent by encoding each codeword over one or more streams. In SCW, it isonly necessary to report one channel quality index (CQI), while in MCWseveral CQI must be fed back. To reduce CQI feedback, a pseudo-randomscrambler is employed to encode multiple codewords over multiplestreams. With this technique the CQI feedback requirement issubstantially reduced.

For example, when a receiver uses a LMMSE demodulator, it is onlynecessary to report a single CQI that is good for all the channels. This“pseudo-random scrambling” has negligible effect in terms of capacityloss, while increasing the decoder throughput requirement of the system.

In some embodiments a structured codebook is used to perform successivebeamforming. This structured codebook uses the feedback bits moreefficiently and needs less memory for storage.

These and other advantages of the invention will be apparent to those ofordinary skill in the art by reference to the following detaileddescription and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a rank specific codebook in a MIMO system.

FIG. 2 depicts an exemplary rank specific codebook.

FIG. 3 depicts a method for precoding over a set of parallel channelsaccording to some embodiments of the present invention.

FIG. 4 depicts a method of quantizing a representative channel usingsuccessive beamforming according to some embodiments of the invention.

FIG. 5 depicts a method of recursive beamforming according to someembodiments of the invention.

FIG. 6 depicts a system 600 for data transmission in accordance withsome embodiments of the invention.

FIG. 7 depicts pseudo-random scrambling according to some embodiments ofthe present invention.

DETAILED DESCRIPTION

The present invention generally provides methods and apparatus forquantized precoding over sets of parallel channels in data transmission.The methods and apparatus are applicable to (but not limited to)Downlink (DL) OFDM (orthogonal frequency-division multiplexing) MIMO(multiple input multiple output) systems. More specifically, the presentinvention provides methods for precoder selection over a set of parallelMIMO channels. A method for determining an optimal precoder is provided.Additionally, other, less computationally complex, methods are provided.The present invention additionally provides a method of reducingfeedback in data transmission over parallel channels.

FIG. 1 represents a rank specific codebook for four transmissionantennas at a node B (e.g., a base transceiver station, a receiverand/or transmitter, an antenna, etc.) in a MIMO system. FIG. 2represents a rank specific codebook derived from a three vector codebookor two, three, and four dimensional vectors.

In an exemplary case of a transmission system with four transmissionantennas at a node B, FIG. 1 depicts potential codebooks 102, 104, 106,108. Codebook 102 is a 4×4 matrix (e.g., rank 4), codebook 104 is a 4×3matrix (e.g., rank 3), codebook 106 is a 4×2 matrix, (e.g., rank 2), andcodebook 108 is a 4×1 matrix (e.g., rank one).

By using successive beamforming, all the codebooks may be derived fromthree vector codebooks 202 (C₄), 204 (C₃), and 206 (C₂) consisting of2^(B) ₄ (4×1)-dimensional vectors 208, 2^(B) ₃ (3×1)-dimensional vectors210, and 2^(B) ₂ (2×1)-dimensional vectors 212, respectively, as shownin FIG. 2. Each vector codebook 202-206 may be optimally designed bymaximizing the minimum distance (e.g., chordal distance, Fubini-Studydistance, p-norm distance, etc.) between each pair of the vectors208-212 in the codebooks 202-206.

For rank one transmission the vectors 208 and 212 from the codebooks 202and 206 may be used directly, and the feedback index (FBI) requirementis B₄ and B₂ bits plus bits required to specify the rank, respectively.A 2×2 codebook 214 may be constructed by adding an orthonormal vector toeach of the vectors in the codebook 206 to construct 2^(B) ₂ matrices ofsize 2×2. For rank two transmission from a Node B with four antennas,the 4×3 codebook 216 may be constructed by considering the Cartesianproduct C₄×C₃. Therefore, the FBI feedback requirement is B₄+B₃+rankbits. For rank three transmission, only a subset C″₂ of size 2^(B′) ₂from the codebook 206 may be considered and the 4×3 codebook 218 isconstructed as the Cartesian product C₄×C₃×C′₂ and the FBI feedbackrequirement is B₄+B₃+B′₂+rank bits. By adding the fourth orthonormalvector to each matrix in 4×3 codebook 218, a rank four codebook may beobtained.

While the bits for the FBI feedback for both rank one and rank twotransmission from a Node B equipped with two antennas are the same, theabove derivation of the codebook for a base transceiver station withfour antennas presents a variable feedback for different ranks (e.g.,B₄+rank<B₄+B₃+rank<B₄+B₃+B′₂+rank=B_(max)) Accordingly, if the FBIfeedback bits for all the cases are equal, the above construction wouldincur a loss from the possible optimal rank specific codebook design.One solution, for example, is to construct larger codebook C″₄ of size2^(Bmax) with C₄ as an embedded codebook.

To avoid the extra memory requirement for keeping such large codebook, amethod of recursive beamforming may be utilized, as described below. Therecursive beamforming may use the same vectors from C₄, C₃, and C″₂ toconstruct a 2^(B4+B3+B′2) sized vector codebook of (4×1)-dimensionalvectors. Such an extension of C₄ to a larger codebook does not requireextra memory, while in practice the performance degradation with respectto the optimal design is negligible.

In an exemplary embodiment, such codebooks consist of m sets of vectorsin V⁽¹⁾={v_(i) ⁽¹⁾}_(i=1) ^(N) ¹ ⊂C^(m), V⁽²⁾={v_(i) ⁽²⁾}_(i=1) ^(N) ²⊂C^(m-1), . . . , V^((m))={v_(i) ^((m))}_(i=1) ^(N) ^(m) ⊂C^(m-2).Without loss of generality, the first element of each vector is assumedto be real valued, or each vector is multiplied by a complex exponentialto remove the phase of the first element of the vector. This property isused later to define a convenient rotation transformation based on thehouseholder transformation. In order to define the proper complexhouseholder transformation the first element of the vector has to bereal valued.

The following precoding matrices can be generated based on vectorcodebooks. For i_(k)=1, 2, . . . , N_(k), k=1, 2, . . . , m:A(v _(i) ₁ ⁽¹⁾ ,v _(i) ₂ ^((s)) ,v _(i) ₃ ⁽³⁾, . . . )=[v _(i) ₁ ⁽¹⁾,HH(v _(i) ₁ ⁽¹⁾ −e ₁ ^(m))[0;v _(i) ₂ ⁽²⁾ ],HH(v _(i) ₁ ⁽¹⁾ −e ₁^(m))[0;HH(v _((i) ₂ ⁽²⁾ −e ₁ ^(−1m))[0;v _(i) ₃ ⁽³⁾ ]] . . . ][v _(i) ₁⁽¹⁾ ,HH(v _(i) ₁ ⁽¹⁾ −e ₁ ^(m))[0;v _(i) ₂ ⁽²⁾ ,HH(v _(i) ₂ ⁽²⁾ −e ₁^(m-1)[0;v _(i) ₃ ⁽³⁾, . . . ]]]where

$e_{1}^{k} = \left\lbrack {1;\underset{\underset{k - 1}{︸}}{0;\ldots\mspace{14mu};0}} \right\rbrack$and HH(v_(i) _(k) ^((k))−e_(k) ^(m)) is any rotation matrix thattransforms the vector v_(i) _(k) ^((k)) to the unit vector e_(k) ^(m).An example of such transformation is a householder transformationdefined by

${{HH}(x)} = {I - \frac{2{xx}^{*}}{{x}^{2}}}$corresponding to the complex vector x.

By using the above mXm constructed matrices A(v_(i) ₁ ⁽¹⁾, v_(i) ₂ ⁽²⁾,. . . ) the rank n precoding matrix is formed by picking n columns outof the possible m columns. The matrix codebook is not stored at the userequipment (UE). Instead, the vector codebook V⁽¹⁾, V⁽²⁾, . . . ,V^((m-1)) is stored. Depending on the beamforming strategy either theset of rotations {HH(v_(i) _(k) ^((k))−e_(k) ^(m)), 1≦i_(k)≦N_(k),1≦k≦m} for SVD based precoding selection, or all the required

$2\;\frac{\alpha_{i_{p,i_{{p + 1},\mspace{14mu}\ldots\mspace{14mu},i_{q}}}}^{p,q}}{a_{i_{p\;}}^{(p)}}{\,^{\prime}s}$for CQI-metric based precoder selection are stored. In sucharrangements, a_(i) _(p) ^((p))=2(1−v_(i) _(p) ^((p))(1))=∥v_(i) _(p)^((p))−e₁ ^(m-p+1)∥² and v_(i) _(p) ^((p))(1) is the first element ofvector v_(i) _(p) ^((p)). Also, α_(i) _(p) _(,i) _(p+1) _(, . . . , i)_(q) ^(p,q)=α(v_(i) _(p) ^((p)), v_(i) _(p+1) ^((p+1)), . . . , v_(i)_(q) ^(q)) such that:α_(i) _(p) _(,i) _(p+1) _(, . . . i) _(q) =v _(i) _(p) ^((p))*[0;HH(v_(i) _(p+1) ^((p+1)) −e ₁ ^(m-p))[0;HH(v _(i) _(p+2) ^((p+2)) −e ₁^(m-p−1))][ . . . HH(v _(i) _(q−1) ^((q−1)) −e ₁ ^(m-q+2))[0;v _(i) _(q)^((q))] . . . ]]

For the case that the maximum rank is k, the memory requirement may bereduced by storing, for example, only V⁽¹⁾, V⁽²⁾, . . . , V^((k)), andthe associated values of

$2\;\frac{\alpha_{i_{p,i_{{p + 1},\mspace{14mu}\ldots\mspace{14mu},i_{q}}}}^{p,q}}{a_{i_{p}}^{(p)}}{{\,^{\prime}s}.}$

FIG. 3 depicts a method 300 for precoder selection over a set ofparallel channels. The method begins at step 302.

In step 304, a representative channel is determined. The optimalprecoding index may be found through wide-band precoding over the set ofOFDM tones in each sub-band, (e.g., multiple adjacent chunks over whichthe FBI feedback is reported). To avoid the computational complexity offinding the optimal wide-band precoder over large cluster sizes (e.g.,where T₂−T₁=75 OFDM tones=3 chunks), the signal to noise plusinterference ratios (SINRs) for all the entries of the codebook may bedetermined. This may be accomplished by computing a representativechannel (e.g., H_(rep)) for the whole sub-band from T₁ to T₂ (e.g., twotones) as follows:

$H_{rep}\left\{ {\sum\limits_{i = T_{1}}^{T_{2}}{H_{i}^{*}H_{i}}} \right\}^{1/2}$

where {.}^(1/2) denotes the matrix square root operation and H_(i) isthe estimate of the channel for the i^(th) OFDM tone. Other appropriatemethods of determining a representative channel may be used.

In step 306, a transmission rank is selected. The transmission rank maybe selected based on a modified capacity measure.

In step 308, the representative channel is quantized using beamforming.In one embodiment of the invention the representative channel isquantized using successive beamforming. In another embodiment, recursivebeamforming is used.

By using successive beamforming, the first N=r dominant right eigenmodesof H_(Rep) may be quantized using singular value decomposition (SVD).

In an exemplary embodiment, let H, for i=T₁, T₁+1, . . . T₂ representthe set of parallel channels over which to find the optimal precoder ofa specified rank. Each H, may be an N×M matrix in which M transmitters(e.g., transmit antennas) and N receivers (e.g., reception antennas) areused. In general, such parallel channels might not be correlated and aprecoder which is good for one channel might not be a good precoder forthe other channels. However, in MIMO OFDM systems, if the size of thechunk (e.g., the set of parallel channels from T₁ to T₂) is chosenappropriately, the channels are usually correlated and a unique precoderis substantially optimal for all the tones.

Further discussion of quantizing is discussed below with respect to themethods 400 and 500.

In step 310, an effective rate is determined. In determining theeffective rate in a multi-rank beamforming scheme (MRBF), Linear MinimumMean Squared Error (LMMSE) demodulators at the receiver end areadvantageous. However, the precoding selection scheme described hereinmay also be extended to the cases where other demodulators (e.g.,decoders) such as a Minimum Mean Square Error, Successive InterferenceCancellation (MMSE-SIC), ML Detector based on QR decomposition (QR-MLD),Maximum Likelihood (ML) and/or any other appropriate demodulators areused.

The number of transmission streams may be defined as transmission rankand may be controlled as a function of the channel state and Signal toNoise Ratio (SNR) (e.g., the equivalently available transmit power) inorder to maximize the system throughput. The effective rate of MRBFusing ML and MMSE-SIC decoding is given by:

$C_{MRBF} = {\sum\limits_{i = {T\; 1}}^{T\; 2}{{\log\left( {\det\left( {I + {\rho\; H_{i}Q\; Q^{*}H_{i}^{*}}} \right)} \right)}\mspace{14mu}{where}\text{:}}}$

M is a number of transmitters, N is a number of receivers, Q is an M×kdetermined precoding matrix (e.g., precoder) for a rank k transmission,H_(i) is an N×M estimated channel matrix, T₁ to T₂ are adjacent tones,ρ=P/N_(o), N_(o) is the noise variance, and P is a power at thetransmitters M.

The effective rate of MRBF using LMMSE (or generally, any decoder)decoding is given by:

$C_{MRBF} = {\sum\limits_{i = T_{1}}^{T_{2}}{\sum\limits_{p = 1}^{k}{\log\left( {1 + {{}_{}^{(i)}{}_{}^{}}} \right)}}}$where ^((i))SINR_(p) is the signal-to-interference plus noise ratio ofthe p^(th) stream of the i^(th) user. Such an effective SINR (in anexemplary rank 2 case) may be expressed as:

${{}_{}^{(c)}{}_{}^{}} = {\frac{\rho}{\left( {\frac{I}{\rho} +^{(c)}W^{({ij})}} \right)_{1,1}^{- 1}}{\left( {1 + {\rho{{{{\overset{\sim}{H}}_{c}v_{j}^{(2)}} - {\frac{2\alpha_{ij}}{a_{i}}\left( {{H_{c}v_{i}^{(1)}} - h_{1}^{(c)}} \right)}}}^{2}}} \right).}}$

If V₁, V₂, . . . represents the column of Q, the corresponding rate fora rank one transmission is given by:

$C = {{\sum\limits_{i = {T\; 1}}^{T\; 2}{\log\left( {\det\left( {I + {{PH}_{i}V_{1}V_{1}^{*}H_{i\;}^{*}}} \right)} \right)}} = {\sum\limits_{i = {T\; 1}}^{T\; 2}{{\log\left( {\det\left( {1 + {{PV}_{1}^{*}H_{i}^{*}H_{i}V_{1}}} \right)} \right)}.}}}$For a rank two transmission, the rate is given by:

$C = {\sum\limits_{i = {T\; 1}}^{T\; 2}\left\lbrack {{\log\left( {1 + {\left( {P/2} \right)V_{1}^{*}{H_{i}^{*}\left( {I + {\left( {P/2} \right)H_{i}V_{2}V_{2}^{*}H_{i}^{*}}} \right)}^{- 1}H_{i}V_{i}}} \right)} + {\log\left( {1 + {\left( {P/2} \right)V_{2}^{*}{H_{i}^{*}\left( {I + {\left( {P/2} \right)H_{i}V_{1}V_{1}^{*}H_{i}^{*}}} \right)}^{- 1}H_{i}V_{2}}} \right)}} \right\rbrack}$

A similar expansion may be performed based on the chain rule for anyrank k. One of ordinary skill in the art will recognize that similarcomputations may be performed.

In step 312, a precoding matrix is determined based on therepresentative channel and the transmission rank. For a quantizedfeedback scheme, the sets of precoders of rank one to rank k of size N₁,N₂, . . . , N_(k) are pre-designed such that log₂(N₁+N₂, + . . . ,+N_(k)) is equivalent to the number of available feedback bits and theindex of the selected precoder is fed back depending on the channelcondition and available power. To select the optimal precoder index, itis necessary to search for the best precoder over the precoding codebookset.

In one aspect of the invention, a channel quality index (CQI) isdetermined. Assuming ML, LMMSE, or MMSE-SIC decoding the correspondingeffective rate expression for each precoding matrix in the codebook ofdifferent ranks is determined as described above. The CQIs for each rankare evaluated in ascending order. The CQI is determined when the maximumCQI achieved with the new rank is not increasing with respect to theprior rank. Using the determined CQI, the precoder is calculated.

Due to the nested structure of the codebook, the SINR computations andthe precoder selection can be considerably simplified by avoidingredundant computations. For a rank i, 1≦i≦k, the effective rate may becalculated for each precoding matrix in the codebook of rank i. For i=1,such search is not exhaustive. However, increasing the precoder rank andincreasing the number of precoders in the codebooks of higher ranksmakes the search more complex.

In another aspect, the precoding matrix may be determined by performingSVD on the representative channel. SVD of an estimated channel (e.g.,the actual channel and/or channel estimate) H_(k) may be equivalent tothe representative channel H_(Rep) for the k^(th) user channel in thesub-band from T₁ to T₂. The estimated channel may be represented asH_(k)=U_(k)D_(k)V*_(k) where the columns of the unitary matrix V_(k)=[v₁v₂ . . . v_(Nk)] represent different eigen-vectors of the channel. For agiven rank N, quantized beamforming may find the best quantization ofthe first N dominant eigen-vectors of the channel. If B_(i) bits areused for the quantization of i^(th) eigen-vector v_(i), the quantizedvector {circumflex over (v)}₁ is given by:

{circumflex over (v)}₁=arg max|V*_(i) w| wherein w ε C_(i)={w₁; w₂; . .. ; w_(2Bi)} and where C_(i) is the corresponding quantization codebook.

Successive beamforming may be performed by selecting the precoders ofrank i column-by-column, significantly reducing the complexity. Insuccessive beamforming, the first column of the precoder Q may be chosenby considering only the first term of the effective rate as expanded bythe chain rule, wherein only the mutual information of the first streamis maximized. After selecting the first column of the precoding matrix,the second term is considered wherein the mutual information of thesecond stream is considered and maximized by treating the first streamas noise. This process may be performed successively (e.g.,iteratively).

In still another aspect, the complexity of such a precoder design forthe set of parallel channels may be further reduced using channelrepresentative based selection. If the number of such parallel channelsis large, at each step between (T₂−T₁) to 3(T₂−T₁) matrixmultiplications may be performed. For example, where a normal chunk sizeT₁-T₂ is equal to 75 tones for 3^(rd) Generation Partnership Project:Long Time Evolution MIMO (3GPP MIMO LTE) studies with a 6 multi-pathSpatial Channel Model-Extended (SCME) channel model and 512 Fast FourierTransform (FFT) points.

In order to derive this alternative beamforming strategy with reducedcomplexity, a precoding bound that is valid for high SNR is considered.

$\quad\begin{matrix}{C = {\sum\limits_{i = {T\; 1}}^{T\; 2}{{\log\left( {\det\left( {I + {\rho\; H_{i}{QQ}^{*}H_{i}^{*}}} \right)} \right)}\mspace{14mu}\left( {{e.g.},{{the}\mspace{14mu}{upper}\mspace{14mu}{bound}}} \right)}}} \\{= {\rho\;{\sum\limits_{i = {T\; 1}}^{T\; 2}{{tr}\left( {H_{i}{QQ}^{*}H_{i}^{*}} \right)}}}} \\{= {\rho\;{\overset{T\; 2}{\sum\limits_{i = {T\; 1}}}{{tr}\left( {Q^{*}H_{i}^{*}H_{i}Q} \right)}}}} \\{= {\rho\; Q\left\{ {\sum\limits_{i = {T\; 1}}^{T\; 2}{{tr}\left( {H_{i}^{*}H_{i}} \right)}} \right\} Q}}\end{matrix}$

The above precoding upper bound is a bound in which only one precoder isused for the whole set of parallel channels. If the precoder is chosenseparately for each tone or channel i, for all T₁≦i≦T₂, then the boundis obtained as

$C = {\sum\limits_{i = {T\; 1}}^{T\; 2}{\log\left( {\det\left( {I + {\rho\; H_{i}Q_{i}Q^{*}H_{i}^{*}}} \right)} \right)}}$(e.g., the loose bound).

The optimal per-tone precoder Q_(i) is obtained as the k dominant righteigenvectors of the channel H_(i) where k is the number of nonzerosingular values of H_(i). It should be noted that either the upper boundor the loose bound may be calculated for a constant rank (e.g., rank k)or for variable rank. It is also noted that calculating the upper boundrequires solving for the optimal wide-band precoder Q over set ofparallel channels, an intractable problem using conventional methods.Conversely, the loose bound may be computationally expensive, butprovides a tractable solution.

The above high-SNR approximation provides a good approximation of theactual bound in a practical range of SNR for most MIMO OFDM systems. Theupper bound may be calculated by first finding a representative channelof the set of parallel channel as discussed above with respect to step304. It is noted that H_(rep) is only a representative channel tocalculate the bound and the optimal precoding matrix, not an equivalentchannel for this set of parallel channels. The bound is then calculatedusing the value of the precoding matrix Q.

This high-SNR approximation in finding optimal precoders for the set ofparallel channels not only enables calculating such a bound, but it alsosignificantly reduces the complexity of successive beamforming strategydescribed above. Using the above technique, the representative channelmatrix H_(rep) for the set of parallel channels is calculated.Subsequently, successive beamforming is performed on H_(rep) as it isdone for narrow-band systems. As a result, there would be no need toperform N₁×(T₂−T₁) matrix multiplication in order to pick the firstvector, and similarly there would be no need to perform N₂×(T₂−T₁)matrix multiplication for picking the second column of the precodingmatrix, etc. Simulation results indicate the loss in such precodingselection process based on H_(rep) is usually negligible.

The method ends at step 314.

Similarly, computations for LMMSE Filter and SINR may be used. LetH_(c)=[h₁ ^((c))h₂ ^((c)) . . . h_(m) ^((c))] be the channel matrix ofthe c^(th) channel where m is the number of transmission antennas andH_((p)) ^((c))=[h_(p) ^((c))h_(p+1) ^((c)) . . . h_(m) ^((c))]. For anestimated channel H_(c) and a precoding matrix (^((c))W_(i)_(, . . . ik) ^(1,k)) of rank k shown by the matrix A(v_(i) ₁ ⁽¹⁾, v_(i)₂ ⁽²⁾, . . . v_(i) _(k) ^((k))):^((c)) W _(i) _(1, . . . ik) ^(1,k)=[^((c)) S _(i) _(1, . . . , ik)^(1,k)]*·^((c)) S _(i) _(1, . . . ik) ^(1,k)where ^((c))S_(i) _(1, . . . ik) ^(1,k)=HA(v_(i) ₁ ⁽¹⁾, v_(i) ₂ ⁽²⁾, . .. v_(i) _(k) ^((k))) has the following expansion:

${{}_{}^{(c)}{}_{i_{1,\ldots}\;\ldots\mspace{14mu} i_{k}}^{1,k}} = \left\lbrack {{Hv}_{i_{1}}^{(1)},{{H_{(2)}v_{i_{2}}^{(2)}} - {2\;\frac{\alpha_{i_{1},i_{21}}^{1,2}}{\,_{a_{i_{1}}}(1)}{\left( {{{Hv}_{i_{1}}^{(1)} - h_{1}},{{\ldots\mspace{14mu} H_{(k)}v_{i_{k}}^{(k)}} - {2{\sum\limits_{j = 1}^{k - 1}{\frac{\alpha_{i_{j},\mspace{14mu}\ldots\mspace{14mu},i_{k}}^{j,k}}{\alpha_{i_{j}}^{(j)}}\left( {{H_{(j)}v_{i_{j}}^{(j)}} - h_{j}} \right)}}}}} \right\rbrack.}}}} \right.$For the p^(th) (p=1, 2, . . . , k) precoded stream, the correspondingSINR for the c^(th) channel obtained with a LMMSE filter is given by:

${{}_{}^{(c)}{}_{}^{}} = {\frac{\rho}{\left( {\frac{I}{p} + {{}_{}^{(c)}{}_{i_{1},\mspace{14mu}\ldots\mspace{14mu},i_{k}}^{1,k}}} \right)_{p,p}^{- 1}} - 1}$where ρ=P/N₀ is the average SNR, P is the average power per stream andN₀ is the noise variance. Similarly, the MMSE filter expression is givenby:

${\left( {\frac{I}{p} +^{(c)}W_{i_{1},\mspace{14mu}\ldots\mspace{14mu},i_{k}}^{1,k}} \right)^{- 1}\left\lbrack {{}_{}^{(c)}{}_{i_{1},\mspace{14mu}\ldots\mspace{14mu},i_{k}}^{1,k}} \right\rbrack}^{*}.$

In alternative embodiments, other precoder selection methods may beemployed. For example, a CQI-metric based selection method may be usedfor precoder selction. For a rank i, 1≦i≦k, assuming ML, LMMSE, orMMSE-SIC decoding the corresponding effective rate expression for eachprecoding matrix in the codebook of different ranks may be calculated.The process begins by evaluating (e.g., computing) the CQIs for the rankin ascending order. The process stops when the maximum CQI achieved withthe new rank is not increasing with respect to the prior rank. That is,for example, the CQI for rank 1 is computed followed by the CQI for rank2. The CQIs for ranks 1 and 2 are compared to determine if an increasein throughput is found for rank 2. If no increase is found, the methodstops. If an increase is found, the method continues (e.g., computingthe CQI for rank 3 and comparing it to the CQI for rank 2, etc.).Accordingly, the method continues until a first CQI is substantiallyequal to a second CQI (where the first and second CQIs do notnecessarily correspond to the first and second ranks). The index of therank with the highest throughput (e.g., when a first CQI issubstantially equal to a second CQI) then gives the appropriateprecoder. Due to the nested structure of the codebook, the SINRcomputations and the precoder selection can be simplified by avoidingredundant computations using this method.

Similarly, an SVD based selection scheme may be used for precoderselection. Such a method may use a successive beamforming strategy inwhich selecting the precoders of rank is performed successively (e.g.,column-by-column). Therefore, the complexity of the algorithm issignificantly reduced. In successive beamforming, the first column ofthe precoder matrix Q (e.g., V₁) is chosen by considering only the firstterm of the effective rate (e.g., as described above with particularattention to step 310 of method 300). Here, only the mutual informationof the first stream is maximized. After selecting the first column ofthe precoding matrix, the second term of the effective rate isconsidered for a decoder (e.g., a LMMSE or a MMSE-SIC). The second termis the achievable rate of the second stream by treating the first streamas noise. At each step, the corresponding column is chosen only based onthe mutual information between the received signal of the same columnand the input vector by treating the previous streams as noise withoutconsidering the effect of such local maximization in the throughput ofthe next streams that are yet to be decoded.

FIG. 4 depicts a method 400 of quantizing a representative channel usingsuccessive beamforming according to some embodiments of the invention.Such a method may be used to perform step 308 of method 300. Successivebeamforming may provide a more efficient quantization of theeigen-vectors by using the fact that the column vectors v₁ v₂ . . .v_(N) are orthogonal. Therefore, the quantization of each vector may besuccessively performed in a lower dimensional sub-space using theknowledge of previously quantized vectors. The successive quantizationmay be performed as follows. The method starts at step 402.

In step 404 a first eigen-vector (v₁) of the representative channel isquantized. Since v₁ is an M dimensional vector, the quantizationcodebook C^((M))={w₁; w₂; . . . ; w_(2B1)} comprising the M-dimensionalvectors in a complex space C^(M) (e.g., of size 2^(B1) using B₁ bits offeedback for quantization of v₁) may be used. The quantized vector{circumflex over (v)}₁ε C^((M)) may be chosen to maximize <v1;{circumflex over (v)}₁>=|v*₁ {circumflex over (v)}₁|. The index of{circumflex over (v)}₁ may then constitute the quantized feedbackinformation for the first eigen-vector.

Then, in step 406, a rotation matrix Φ({circumflex over (v)}₁) isdetermined. The rotation matrix is determined such that:

Φ(₁){circumflex over (v)}₁=e₁=[1; 0; 0; . . . ; 0]. The rotation matrixmay be a known rotation matrix or may be derived and/or determinedthrough other appropriate means.

In step 408, the vectors v₁ v₂ . . . v_(N) (e.g., the plurality ofeigen-vectors) are rotated by the rotation matrix to produce a newmatrix {tilde over (V)}. Consider:V′=[v′ ₁ v′ ₂ . . . v′ _(N)]=Φ({circumflex over (v)} ₁)V=[Φ({circumflexover (v)} ₁)v ₁Φ({circumflex over (v)} ₁)v ₂ . . . Φ({circumflex over(v)} ₁)v _(N)]If {circumflex over (v)}₁=v₁ the first vector v′₁ becomes e₁ and all thefirst elements of v′₂ v′₃ . . . v′_(N) are zero. This result occursbecause V is a unitary matrix and all of its columns are orthogonal.

Thus, if the quantization codebook is fine enough such that {circumflexover (v)}₁ closely approximates v_(l), then the first element of therotated eigen-vectors v′₂ v′₃ . . . v′_(N) may be ignored and the nexteigen-vector in a lower dimensional subspace may be quantized.Accordingly, a new matrix {tilde over (V)}=V′(2:M, 2:M) may be formed.

After step 408, the method 400 may return control to step 404 and steps404-408 may be repeated on the new matrix V until all of the pluralityof eigen-vectors of the representative channel are quantized. The samebeamforming procedure of steps 404-408 may be performed on the newmatrix {tilde over (V)}=V′(2:M, 2:M).

This step may be performed successively until all the vectors arequantized (e.g., the method steps may be performed iteratively). Itshould be noted that since the length of the vectors are reduced by one,the codebook used in step 404 is now one dimension lower than thecodebook used in previous iteration. The above successive beamformingmethod 400 may generate different amounts of feedback for differentranks. Therefore, for a fixed number of feedback bits per block oftransmission, different size codebooks may be generated in order to useup all available bits for different rank beamforming.

When all of the plurality of eigen-vectors of the representative channelare quantized, the method ends with step 410.

In an illustrative embodiment of the method 400, a case where thepossible rank of the channels are one or two and eight bits of feedbackis available is considered. One bit may be dedicated for rank selectionand the other seven bits may be used for description of the eigenmodes.For rank two, four bits may be used for the first eigenmode and threebits for the second eigenmodes.

Therefore, there are 2⁴=16 M-vectors to quantize the first eigenmode and2³=8 (M-1)-vector to quantize the second eigenmode. For rank one, allseven bits may be used and therefore generate 2⁷=128 M-vectors to beused for the quantization of the dominant eigenmode of the channel.

FIG. 5 depicts a method 500 of recursive beamforming according to anembodiment of the invention. The method begins at step 502. Due to thehigher computational complexity and memory requirement of successivebeamforming, the alternative beamforming strategy of method 500 may beutilized in some embodiments of the present invention. Recursivebeamforming may use the same idea of successive beamforming describedabove to quantize the vectors for the lower ranks (e.g. rank 1). Insuccessive beamforming a set of orthogonal vectors (e.g., v₁; v₂; . . .; v_(k)) is quantized. Conversely, in recursive beamforming, this set isrecursively generated for only one vector v₁.

In step 504, a first vector of the representative channel is quantized.Since v₁ is an M dimensional vector, it is quantized using the codebookC^((M)) of the M-vectors in C^(M). The quantized vector {circumflex over(v)}₁ε C^((M)) may be chosen to maximize <v1; {circumflex over(v)}₁>=|v*₁ {circumflex over (v)}₁|.

In step 506, a residual part of the first vector is determined. Afterquantizing v₁ to {circumflex over (v)}₁ in the step 504, v₂ is definedas the residual of v_(i) on the orthogonal space span{{circumflex over(v)}₁ ^(⊥)}. Accordingly, v′₂=v₁−(v*₁{circumflex over (v)}₁) {circumflexover (v)}₁.

In step 508, vector v₂ is normalized such that

$v_{2} = {\frac{v_{2}^{\prime}}{v_{2}^{\prime}}.}$

In step 510, a rotation matrix Φ({circumflex over (v)}₁) is determined.The rotation matrix is determined such that Φ({circumflex over (v)}₁)such that Φ(₁) {circumflex over (v)}₁=e₁=[1; 0; 0; . . . ; 0].

In step 512, the residual part of the first vector is rotated to producea new matrix. The vector v₂ is rotated by the rotation matrixΦ({circumflex over (v)}₁) such that v″₂=Φ({circumflex over (v)}₁)v₂wherein the first elements of v″₂ are zero because v₂ε span{{circumflexover (v)}₁ ^(⊥)} (e.g., <v₂; {circumflex over (v)}₁>=0). The rotationmay produce a new vector {tilde over (v)}₂=v″₂(2:M).

After step 512, the method 500 may return control to step 504 and thesame beamforming method (e.g., steps 504-512) may be performed on thenew vector {tilde over (v)}₂. The method 500 may be performedsuccessively on each newly produced vector until all the codebooks ofM-vectors, (M-1)-vectors, up to (M-k+1)-vectors are used.

Another difference between the successive beamforming strategy of method400 on the set of orthogonal vectors v₁; v₂; . . . ; v_(k) (e.g.,successive beamforming) and the method 500 (e.g., recursive beamforming)of v₁ and its residuals v₂; v₃; . . . ; v_(k) is that it is necessary toquantize the ratio of the projection of v₁ in each successive space forthe reconstruction in recursive beamforming.

For example, for k=2 it is necessary to quantize the valueα=v*₁{circumflex over (v)}₁. Since recursive beamforming is used whenthe rank k chosen by user equipment (UE) (e.g., a controller,transmitter, receiver, or the like) is lower than the maximum possiblerank N_(max), the reserved feedback bits for quantization of othereigenmodes can be used for quantizing the projection values. As aresult, the recursive beamforming can be performed without increasingthe overall feedback overhead for the system.

In an exemplary embodiment of the method 500 the vector v₁ isreconstructed. Assuming only two codebooks are used and {circumflex over(v)}₁ and {circumflex over (v)}₁ have been successively obtained as thequantized vectors:

$\quad\begin{matrix}{v_{1} = {{\left( {v_{1}^{*}{\hat{v}}_{1}} \right){\hat{v}}_{1}} + v_{2}^{\prime}}} \\{= {{\left( {v_{1}^{*}{\hat{v}}_{1}} \right){\hat{v}}_{1}} + {{v_{2}^{\prime}}v_{2}}}} \\\left. {= {{{v_{2}^{\prime}}\left( {\left( {v_{1}^{*}{\hat{v}}_{1}} \right)/{v_{2}^{\prime}}} \right){\hat{v}}_{1}} + v_{2}}} \right) \\\left. {= {{{v_{2}^{\prime}}\left( {\left( {v_{1}^{*}{\hat{v}}_{1}} \right)/{v_{2}^{\prime}}} \right){\hat{v}}_{1}} + {{\Phi\left( {\hat{v}}_{1} \right)}^{- 1}v_{2}^{''}}}} \right) \\\left. {= {{{v_{2}^{\prime}}\left( {\left( {v_{1}^{*}{\hat{v}}_{1}} \right)/{v_{2}^{\prime}}} \right){\hat{v}}_{1}} + {{\Phi\left( {\hat{v}}_{1} \right)}^{- 1}\begin{bmatrix}0 \\{\overset{\sim}{v}}_{2}\end{bmatrix}}}} \right) \\{\approx {\sqrt{1 - {\hat{\alpha}}^{2}}\left( {{\frac{\hat{\alpha}}{\sqrt{1 - {\hat{\alpha}}^{2}}}{\hat{v}}_{1}} + {{\phi\left( {\hat{v}}_{1} \right)}^{- 1}\begin{bmatrix}0 \\{\hat{v}}_{2}\end{bmatrix}}} \right)}}\end{matrix}$where all quantities in the final equation are known and |v′₂|=√{squareroot over (1−|{circumflex over (α)}|²)}, obtained via the beamformingvector v₁ being the unit norm (e.g., |v₁|=1).

FIG. 6 depicts a system 600 for data transmission in accordance with anembodiment of the invention. The system 600 comprises a transmitter 602,which may contain and/or be in communication with (e.g., electrical,wireless, etc.) a scrambler 604. The transmitter 602 may be adapted totransmit signals (e.g., wireless communication signals) 606 viatransmission antennas 610 or any other suitable transmission method(e.g., via wireline transfer, etc.). The system 600 may further comprisea receiver 612 having reception antennas 614, either of which may beadapted to receive signals 606 from the transmitter 602 and/or thetransmission antennas 608). The receiver 612 may also comprise ademodulator 616. The system 600 may also have a controller 618 which maybe in communication with the transmitter 602, the scrambler 604, theantennas 608 and/or 614, the receiver 612, the demodulator 616, and/orany other device in the system 600.

Transmitters 602, receivers 612, and other system components of thesystem 600 are well known in the art. It is understood that anyappropriate combination of these components may be used to implement theinvention as described herein. For example, the method steps of methods300, 400, and 500 may be employed on, by, or at any combination of thecontroller 618, transmitter 602, the scrambler 604, the antennas 608and/or 614, the receiver 612, the demodulator 616, and/or any otherdevice in the system 600.

Transmitter 602 may be capable of transmitting multiple streams and/orover multiple parallel channels (e.g., signals 606 and/pr over antennas608 and/or 614). Similarly, receiver 612 may be capable of receivingsignals 606. Demodulator 616 may be a LMMSE demodulator, a MMSE-SICdemodulator, a QR-MLD demodulator, or any other appropriate demodulatoradapted to perform the functions as described herein with particularattention to the method 300.

In some embodiments, the controller 618 may be or may include anycomponents or devices which are typically used by, or used in connectionwith, a computer or computer system. Although not explicitly pictured inFIG. 6, the controller 618 may include one or more central processingunits, read only memory (ROM) devices and/or a random access memory(RAM) devices. The controller 618 may also include input devices such asa keyboard and/or a mouse or other pointing device, and output devicessuch as a printer or other device via which data and/or information maybe obtained, and/or a display device such as a monitor for displayinginformation to a user or operator. The controller 618 may also include atransmitter and/or a receiver such as a LAN adapter or communicationsport for facilitating communication with other system components and/orin a network environment, one or more databases for storing anyappropriate data and/or information, one or more programs or sets ofinstructions for executing methods of the present invention, and/or anyother computer components or systems, including any peripheral devices.

According to some embodiments of the present invention, instructions ofa program (e.g., controller software) may be read into a memory of thecontroller 618 from another medium, such as from a ROM device to a RAMdevice or from a LAN adapter to a RAM device. Execution of sequences ofthe instructions in the program may cause the controller 618 to performone or more of the process steps described herein. In alternativeembodiments, hard-wired circuitry or integrated circuits may be used inplace of, or in combination with, software instructions forimplementation of the processes of the present invention. Thus,embodiments of the present invention are not limited to any specificcombination of hardware, firmware, and/or software. The memory may storethe software for the controller which may be adapted to execute thesoftware program, and thereby operate in accordance with the presentinvention, and particularly in accordance with the methods described indetail below. However, it would be understood by one of ordinary skillin the art that the invention as described herein can be implemented inmany different ways using a wide range of programming techniques as wellas general purpose hardware sub-systems or dedicated controllers.

The program may be stored in a compressed, uncompiled and/or encryptedformat. The program furthermore may include program elements that may begenerally useful, such as an operating system, a database managementsystem and device drivers for allowing the controller to interface withcomputer peripheral devices and other equipment/components. Appropriategeneral purpose program elements are known to those skilled in the art,and need not be described in detail herein.

As indicated herein, the controller 618 may generate, receive, storeand/or use for computation databases including data related totransmission, scrambling, beamforming, and/or precoding. As will beunderstood by those skilled in the art, the schematic illustrations andaccompanying descriptions of the structures and relationships presentedherein are merely exemplary arrangements. Any number of otherarrangements may be employed besides those suggested by theillustrations provided.

FIG. 7 depicts pseudo-random scrambling according to an embodiment ofthe present invention. In order to avoid capacity loss and achievebetter rates for rank k transmission, SCW transmission may be used byencoding over all k layers or MCW may be used by encoding one stream pereach layer and performing SIC decoding. SCW requires only one CQIfeedback, but MCW requires multiple CQI feedbacks for all the streams.Also, SCW needs a high throughput decoder (e.g., a single stream of 100MBPS to be decoded at anticipated peak rate of E-UTRA for 2×2 scenario),whereas the peak rate of each stream at MCW is less (e.g., substantiallyhalf—50 MPBS).

The CQI feedback requirement of multiple streams can be reduced by layerpermutation. However, the use of MMSE-SIC for downlink is not preferredas it imposes much higher computational burden for the UE decodingoperation and increased decoding delay.

Accordingly, the schemes with LMMSE or QR-MLD demodulators for whichthere are no extra decoding delay are preferred. In order to reduce thethroughput requirement for the decoding of each stream and benefit fromMCW operation but not increase the CQI reporting requirement,pseudo-random scrambling of each transmission stream into all layers maybe employed (e.g., by scrambler 604 and/or controller 618). As a result,only one CQI will be reported that may be used by a Node B (e.g.,receiver 612, reception antennas 614, and/or demodulator 616) to choosethe rate for the encoding of all the streams. Such pseudo-randomscrambling of the streams into the layers symmetrizes the system. Incombination with LMMSE or QR-MLD decoding, the performance loss isnegligible. The pseudo-random number generator (e.g., pseudo-randomscrambler 604) that is used for such layering is chosen in static wayand is known to all UEs and receiver 612 in advance. An example of suchscrambling is depicted in FIG. 7.

The pseudo-random scrambling reduces the CQI reporting requirement forthe MCW so that, with the same feedback requirement, MCW performs aswell as SCW with a much lower decoder throughput requirement. This is asa result of dividing the throughput between the streams. However, ifmultiple CQI reporting is available, SCW scheme can also benefit byusing different rates and/or power control over each layer (althoughonly one streams is encoded over multiple layers) to improve theperformance.

The foregoing description discloses only particular embodiments of theinvention; modifications of the above disclosed methods and apparatuswhich fall within the scope of the invention will be readily apparent tothose of ordinary skill in the art. For instance, it will be understoodthat the invention may be employed in MIMO systems and for lower and/orhigher complexity precoding operations. Accordingly, while the presentinvention has been disclosed in connection with specific embodimentsthereof, it should be understood that other embodiments may fall withinthe spirit and scope of the invention, as defined by the followingclaims.

1. A method implemented in a mobile terminal, comprising: generating afeedback information for transmission in order for a remote transmitterto select a precoding matrix from a codebook generated by picking one ormore columns of a matrix with the following structure${{A\left( {v^{1},v^{2},v^{3},\ldots}\mspace{14mu} \right)} = \left\lbrack {v^{1},{{{HH}\left( {v^{1} - e_{1}^{M}} \right)}\begin{bmatrix}0 \\v^{2}\end{bmatrix}},{{{HH}\left( {v^{1} - e_{1}^{M}} \right)}\begin{bmatrix}0 \\{{{HH}\left( {v^{2} - e_{1}^{M - 1}} \right)}\begin{bmatrix}0 \\v^{3}\end{bmatrix}}\end{bmatrix}}} \right\rbrack},\ldots$ where e₁ ^(N)=[1, 0, . . . ,0]^(T)εC^(N), C^(N) being N-dimensional complex space, M is the numberof transmit antennas, v^(a) denotes a column vector, HH(v^(k)−e₁ ^(l))is a rotation matrix that transforms vector v^(k) to the unit vector e₁^(l) and v^(a) is selected from a set v^(a) where V¹={v_(i)¹εC^(M)}_(i=1) ^(N) ¹ , V²={e₁ ^(M−2)}, V³={₁ ^(M−2)}, . . . .
 2. Themethod of claim 1, wherein ${{HH}(w)} = \left\{ \begin{matrix}{I - {2\;\frac{{ww}^{H}}{{w}^{2}}}} & {if} & {w \neq 0} \\I & {if} & {w = 0.}\end{matrix} \right.$
 3. The method of claim 1, wherein a scaled versionof the precoding matrix is used.
 4. The method of claim 1, wherein thenumber of transmit antennas is
 4. 5. The method of claim 1, wherein thenumber of transmit antennas is
 2. 6. The method of claim 1, wherein thenumber of selected columns to form a the precoding matrix is less thanthe number of transmit antennas.
 7. The method of claim 1, wherein allthe columns are selected to form a the precoding matrix.
 8. The methodof claim 1, wherein the feedback information includes at least one of arank, a channel quality index (CQI), and a precoding matrix index.